\chapter{Introduction} \label{roz:wstep}
Nowadays, the software engineering is very intellectual process, because of its dynamic and unpredictable environment. Keeping the software quality requires to determine the measurements methods that will describe what the quality is and how it could be tracked.  The instant growth of software industry realized the customers how valuable are provided products. What is more, customers are aware of breaking next technological barriers, so they are not willing to compromise of quality aspects. That is way, the software metrics are the first indicators of design or code quality.
 
Another important aspect of software metrics is fact that the maintenance and evolution of software systems are major issue in industry. Within the time, most of the systems tend to decay in quality if they are not adapted to changing requirements and standards. So it is necessary to have a possibility to track the system quality within the time. It is a time and money saving approach for complex systems, because metrics are treated as \textit{tool} for attaining accurate estimation of project milestones and develop a system with minimal number of faults. 
 
In order to facilitate the quality of software a large set of metrics have been developed and many tools exist to collect metrics from code or design representation. It allows users to select the best tool to support and handling projects.

\section{Purpose}
The purposes of this thesis are:

\begin{itemize}
\item to review and classify software metrics basing on professional literature, academic publications and results of research made by software development teams, 
\item to identify areas of software engineering process enabling to use and apply a software metrics,
\item to review tools that implements software metrics for Java language,
\item practical usage of software metrics and tools implementing metrics that indicate areas that need to be improved, 
\item final evaluation of usefulness of software metrics in software engineering. 
\end{itemize}

\section{Range of thesis}
The particular chapters of thesis contain:

\begin{itemize}
\item Chapter~\ref{roz:basic_terms} describes the basic terms that are used in the thesis. There are given definitions of software metrics, object--oriented terms and graph theory. It enables not advanced readers to get familiar with research area. 
\item The theoretical approach to software metrics is described in Chapter~\ref{roz:metrics_theory}. It explains the reason of making measurements and introduces Software Quality Model with set of commonly used software metrics. The following sections represent the groups in which the metrics have been divided and assigned. 
\item Chapter~\ref{roz:metrics-tools} focuses on tools (plug-ins) that implements software metrics. In the summary, it is attempt to indicate the best tools to use during software project development. 
\item Basing on one of the academical project, tools introduces in previous chapter and explained software metrics, the practical approach to software metrics is made in Chapter~\ref{roz:metrics-practic}. The purpose is to analyse arbitrary project and indicate the aspects that need improvements. 
\item The final conclusions of whole thesis and further research development are described in Chapter~\ref{roz:conclusion}.  
\item The rest of chapters are bibliography and tables, figures and acronyms lists.
\end{itemize}